<?php
/**
 * Debug
 *
 * Класс Debug обрабатывает данные, связанные с отладочными данными в БД
 *
 * @author Егоров Александр <slamer86@gmail.com>
 * @version 1.1
 */
class Debug extends ActiveRecord {
	public $tableName = 'debug';
	public $pkName = 'ID_debug';
	
	protected $arrSettings = array(
		'created_at' => true,  // в БД храним время создания
		'author' => true,  // в БД храним автора
	);	
	
	public function __construct($arrInitialFields = null, $arrSettings = array()) {
		Service_Debug::setDebug();
		parent::__construct($arrInitialFields, $arrSettings);
		if ($this->id) {
			if (substr($this->getField('debug_text'), 0, 2) == 'a:') {
				$this->setField('debug_text', unserialize(str_replace('*', '"', $this->getField('debug_text'))));	
			}
		}
	}
	
	protected function beforeSave() {
		parent::beforeSave();
		$this->setField('debug_url', $_SERVER['REQUEST_URI']);
		$objSession = User_Session::instance();
		$this->setField('ID_session', $objSession->getSessionIdentifier());
		$this->setField('user_agent', isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '');
		if (is_array($this->getField('debug_text'))){
			$this->setField('debug_text', str_replace('"', '*', serialize($this->getField('debug_text'))));
		}
		
	}
	
}
?>